<?php

$logsPath = function_exists('storage_path') ? storage_path('logs') . DIRECTORY_SEPARATOR : runtime_path('logs');

return [
	'defaults' => [
		// 小程序默认配置
		'mini_app' => 'default',

		// 公众号默认配置
		'official_account' => 'default',

		// 微信开放平台默认配置
		'open_platform' => 'default',

		// 企业微信默认配置
		'work' => 'default',

		// 企业微信开放平台默认配置
		'openwork' => 'default',

		/*
		 * 日志配置
		 *
		 * level: 日志级别，可选为：debug/info/notice/warning/error/critical/alert/emergency
		 * file：日志文件位置(绝对路径!!!)，要求可写权限
		 */
		'log' => [
			'level' => env('WECHAT_LOG_LEVEL', 'error'),
			'file' => env('WECHAT_LOG_FILE', $logsPath . 'wechat.log'),
		],
	],

	// 小程序配置
	'mini_apps' => [
		'default' => [
			'app_id' => env('WECHAT_MINIAPP_APPID', ''),
			'secret' => env('WECHAT_MINIAPP_SECRET', ''),
			'token' => env('WECHAT_MINIAPP_TOKEN'),
			'aes_key' => env('WECHAT_MINIAPP_AES_KEY', ''),
		],
	],

	// 公众号配置
	'official_accounts' => [
		'default' => [
			'app_id' => env('WECHAT_OFFICIAL_ACCOUNT_APPID', ''),
			'secret' => env('WECHAT_OFFICIAL_ACCOUNT_SECRET', ''),
			'token' => env('WECHAT_OFFICIAL_ACCOUNT_TOKEN', ''),
			'aes_key' => env('WECHAT_OFFICIAL_ACCOUNT_AES_KEY', ''),

			/**
			 * 是否使用 Stable Access Token
			 * 默认 false
			 * https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/getStableAccessToken.html
			 * true 使用 false 不使用
			 */
			'use_stable_access_token' => false,

			/**
			 * OAuth 配置
			 *
			 * scopes：公众平台（snsapi_userinfo / snsapi_base），开放平台：snsapi_login
			 * redirect_url：OAuth授权完成后的回调页地址
			 */
			'oauth' => [
				'scopes' => ['snsapi_userinfo'],
				'redirect_url' => env('WECHAT_OFFICIAL_ACCOUNT_OAUTH_REDIRECT_URL', ''),
			],
		],
	],

	// 开放平台配置
	'open_platforms' => [
		'default' => [
			'app_id' => env('WECHAT_OPEN_PLATFORM_APPID', ''),
			'secret' => env('WECHAT_OPEN_PLATFORM_SECRET', ''),
			'token' => env('WECHAT_OPEN_PLATFORM_TOKEN', ''),
			'aes_key' => env('WECHAT_OPEN_PLATFORM_AES_KEY', ''),
		],
	],

	// 企业微信平台配置
	'works' => [
		// 默认应用配置
		'default' => [
			'corp_id' => env('WECHAT_WORK_CORPID', ''),
			'agent_id' => env('WECHAT_WORK_AGENT_ID', ''),
			'secret' => env('WECHAT_WORK_SECRET', ''),
			'token' => env('WECHAT_WORK_TOKEN', ''),
			'aes_key' => env('WECHAT_WORK_AES_KEY', ''),
		],

		// 通讯录配置
		'contact' => [
			'corp_id' => env('WECHAT_work_contact_corpid', ''),
			'secret' => env('WECHAT_work_contact_secret', ''),
			'token' => env('WECHAT_work_contact_token', ''),
			'aes_key' => env('WECHAT_work_contact_aes_key', ''),
		],

		// 客户联系配置
		'customer' => [
			'corp_id' => env('WECHAT_WORK_CUSTOMER_CORPID', ''),
			'secret' => env('WECHAT_WORK_CUSTOMER_SECRET', ''),
			'token' => env('WECHAT_WORK_CUSTOMER_TOKEN', ''),
			'aes_key' => env('WECHAT_WORK_CUSTOMER_AES_KEY', ''),
		],
	],

	// 企业微信开放平台配置
	'openworks' => [
		'default' => [
			'corp_id' => env('WECHAT_OPENWORK_CORPID', ''),
			'secret' => env('WECHAT_OPENWORK_SECRET', ''),
			'suite_id' => env('WECHAT_OPENWORK_SUITE_ID', ''),
			'suite_secret' => env('WECHAT_OPENWORK_SUITE_SECRET', ''),
			'token' => env('WECHAT_OPENWORK_TOKEN', ''),
			'aes_key' => env('WECHAT_OPENWORK_AES_KEY', ''),
			'redirect_uri_install' => env('WECHAT_OPENWORK_REDIRECT_URI_INSTALL', ''), // 安装应用的回调url
			'redirect_uri_single' => env('WECHAT_OPENWORK_REDIRECT_URI_SINGLE', ''), // 登录回调
			'reg_template_id' => env('WECHAT_OPENWORK_REG_TEMPLATE_ID', ''), // 登录回调
		],
	],

	/**
	 * 接口请求相关配置，超时时间等，具体可用参数请参考：
	 * https://github.com/symfony/symfony/blob/5.3/src/Symfony/Contracts/HttpClient/HttpClientInterface.php
	 */
	'http' => [
		'throw' => true, // 状态码非 200、300 时是否抛出异常，默认为开启
		'timeout' => 5.0,
		// 'base_uri' => 'https://api.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用，根据不同的模块配置不同的 uri

		'retry' => true, // 使用默认重试配置
		//  'retry' => [
		//      // 仅以下状态码重试
		//      'status_codes' => [429, 500]
		//       // 最大重试次数
		//      'max_retries' => 3,
		//      // 请求间隔 (毫秒)
		//      'delay' => 1000,
		//      // 如果设置，每次重试的等待时间都会增加这个系数
		//      // (例如. 首次:1000ms; 第二次: 3 * 1000ms; etc.)
		//      'multiplier' => 3
		//  ],
	],
];
